//////////////////////////////////////////////////////////////////////////
// map test 
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
#define NO_CORE_EXPORT

//////////////////////////////////////////////////////////////////////////
#include <windows.h>
#include "NO_STL.h"
#include "NO_Stream.h"
#include "../timing/NO_CModule.h"

//////////////////////////////////////////////////////////////////////////
int __declspec(dllexport) mapTest(void)
{
/*	//////////////////////////////////////////////////////////////////////////
	NO_Map<int,int> noMap;
	NO_Map<int,int,true> sMap;
	std::hash_map<int,int> stdMap;
	std::vector<int> vec;
	
	//////////////////////////////////////////////////////////////////////////
	int i = 0;
	int nsize = 100000;
	int nsteps = 100000;
	
	//////////////////////////////////////////////////////////////////////////
	std::cout<<"\nfill: "<<nsize<<std::endl;
	theMainClock->update();
	for (i=0;i<nsize;i++) 
	{
		noMap.insert(i,i);
	}
	theMainClock->update();
	std::cout<<"NanoOctane Map:\t"<<theMainClock->getFrameTime().asString().c_str()<<std::endl;
	
	theMainClock->update();
	for (i=0;i<nsize;i++) 
	{
		stdMap[i]=i;
	}
	theMainClock->update();
	std::cout<<"STL Map:\t"<<theMainClock->getFrameTime().asString().c_str()<<std::endl;
	
	//////////////////////////////////////////////////////////////////////////
	std::cout<<"\nfind: "<<nsteps<<std::endl;
	theMainClock->update();
	for (i=0;i<nsteps;i++) 
	{
		noMap.find(i);
	}
	theMainClock->update();
	std::cout<<"NanoOctane Map:\t"<<theMainClock->getFrameTime().asString().c_str()<<std::endl;
	
	theMainClock->update();
	for (i=0;i<nsteps;i++) 
	{
		stdMap.find(i);
	}
	theMainClock->update();
	std::cout<<"STL Map:\t"<<theMainClock->getFrameTime().asString().c_str()<<std::endl;
	
	//////////////////////////////////////////////////////////////////////////
	std::cout<<"\niterate: "<<nsize<<std::endl;
	theMainClock->update();
	{
		NO_Map<int,int>::iterator iter = noMap.begin();
		NO_Map<int,int>::iterator end = noMap.end();
		while (iter!=end) {++iter;}
	}
	theMainClock->update();
	std::cout<<"NanoOctane Map:\t"<<theMainClock->getFrameTime().asString().c_str()<<std::endl;
	
	theMainClock->update();
	{
		std::hash_map<int,int>::iterator iter = stdMap.begin();
		std::hash_map<int,int>::iterator end = stdMap.end();
		while (iter!=end) {++iter;}
	}
	theMainClock->update();
	std::cout<<"STL Map:\t"<<theMainClock->getFrameTime().asString().c_str()<<std::endl;
	*/
	return 1;
}
